home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / os2 / ext2_200.zip / EXT2_SRC.ZIP / 32BITS / EXT2-OS2 / EXT2FLT / MAKEFILE.MSC < prev    next >
Text File  |  1996-06-20  |  3KB  |  107 lines

  1. #
  2. # $Header: D:/ext2-os2/ext2flt/RCS/makefile.msc,v 6.0 1996/01/24 00:13:20 Willm Exp Willm $
  3. #
  4. # This is the MS Visual C++ version of ext2flt.flt makefile. I "ported"
  5. # Deon's filter driver to MSC simply because I don't have Borland C++
  6. # to compile ext2flt.flt !! Normally I didn't hack the code too much, the
  7. # main differences are :
  8. #     - segment definitions (CONST segment) in asm files, and a new linker
  9. #       definition file to take these into account (ext2flt2.asm) have been
  10. #       changed to meet MSC requirements.
  11. #     - memcpy and memset routines in e2wrap.asm are no longer used, but
  12. #       the builtin MSC version are used instead (MSC inline them). I did this
  13. #       because of some obscure conflicts with MSC memory models. This change
  14. #       should be safe because I use builtin memset and memcpy routines in
  15. #       ext2-os2.ifs for a year now :-))
  16. #     - macros ENABLE and DISABLE, which use inline assembly, have been replaced
  17. #       with MSC builtin _enable() and disable() functions ... just to avoid
  18. #       compiler warnings about inline asm and optimization (the code produced
  19. #       is the same).
  20. #
  21. # These differences shouldn't really affect the way ext2flt.flt works, but in
  22. # case you encounter a problem, please try to reproduce it with Deon's original
  23. # Borland C++ compiled version and please drop me a note if it does not
  24. # behave the same way. Deon's original package can be found either on
  25. # ftp-os2.nmsu.edu (/os2/diskutil/e2flt12c.zip) or on quark.cs.sun.ac.za
  26. # (/pub/ext2flt/e2flt12c.zip)
  27. #
  28. # The __MSC__ macro is used for MS Visual C++ specific stuff
  29. # The __MASM__ macro is used for MASM stuff (MASM 5.51 from Devcon DDK 2.0)
  30. #
  31. # Matthieu WILLM, 1995-12-1
  32. #
  33.  
  34. !include ..\makefile.inc
  35.  
  36. # Define targets to build
  37. all:    ext2flt.flt
  38.  
  39. debug:  ext2flt.flt
  40.  
  41. # MS Visual C++ 1.51 compiler options
  42. #       -Answ : small memory model, DS != SS and other goodies !
  43. #       -G3 : compile for 80386
  44. #       -O2 : optimise code
  45. #       -On : disable unsafe optimisation
  46. #       -Gs : no stack probes
  47. #       -Lp : protected mode code
  48. #       -Zp : pack structures on one byte boundaries
  49. CC_OPT= -Answ -G3 -O2 -On -Gs -Lp -Zp -D__MSC__ -I. -I$(DDKPATH)\h -I$(DDKPATH)\src\dev\dasd\diskh
  50. AS_OPT= -ml -D__MASM__ -I$(DDKPATH)\inc -l
  51. LN_OPT= /map /noe
  52.  
  53. # Include path for files
  54. INC= include
  55.  
  56. # Names of complier, assembler and linker.
  57. CC = cl -c $(CC_OPT)
  58. AS = $(DDKPATH)\tools\masm $(AS_OPT)
  59. LINK = link
  60.  
  61. # Implicit rules
  62. .c.obj:
  63.         $(CC) -Fl$(@:.obj=.l) $<
  64.  
  65. .asm.obj:
  66.         $(AS) $<;
  67.  
  68. # Define object files used to build executable from:
  69. OBJ_1= e2header.obj e2wrap.obj e2data.obj
  70. OBJ_2= e2router.obj e2filt.obj e2part.obj
  71. OBJ_3= e2iocmd.obj e2virtio.obj e2init.obj
  72. OBJ_4= e2inutil.obj
  73.  
  74. OBJS= $(OBJ_1) $(OBJ_2) $(OBJ_3) $(OBJ_4)
  75.  
  76. # Make sure that the new debug flag is active...
  77. debug.h: MAKEFILE
  78.  
  79. # List macros
  80. EXE_depend = $(OBJS)
  81.  
  82. # Explicit rules
  83. ext2flt.flt: $(EXE_depend) ext2flt.def MAKEFILE
  84.         $(LINK) $(LN_OPT) @<<
  85. $(OBJ_1) +
  86. $(OBJ_2) +
  87. $(OBJ_3) +
  88. $(OBJ_4)
  89. ext2flt.flt
  90. ext2flt.map
  91.  
  92. ext2flt2.def
  93. <<
  94.         mapsym ext2flt.map
  95.  
  96. install:
  97.         mapsym ext2flt.map
  98.         copy ext2flt.flt e:\mwfs
  99.         copy ext2flt.sym e:\mwfs
  100.  
  101. clean:
  102.         -del $(OBJS)
  103.         -del ext2flt.flt
  104.         -del ext2flt.sym
  105.         -del ext2flt.map
  106.         -del *.l
  107.